The present invention relates to computer networks and, more particularly, to establishment of a database for managing entities in a computer network.
Data communications in a computer network involves the exchange of data between two or more entities interconnected by communication links and subnetworks. These networks are typically software programs executing on hardware computer platforms which, depending on their roles within a network, may serve as host stations, end stations or intermediate stations. Examples of intermediate stations include routers, bridges and switches that interconnect communication links in subnetworks; an end station may be a computer located on one of the subnetworks. More generally, an end station connotes a source of or target for data that typically does not provide routing or other services to other computers on the network. A local area network (LAN) is an example of a subnetwork that provides relatively short-distance communication among the interconnected stations; in contrast, a wide area network (WAN) facilitates long-distance communication over links provided by public or private telecommunications facilities.
End stations typically communicate by exchanging discrete packets or frames of data according to predefined protocols. In this context, a protocol represents a set of rules defining how the stations interact with each other to transfer data. Such interaction is simple within a LAN, since these are typically xe2x80x9cmulticastxe2x80x9d networks: when a source station transmits a frame over the LAN, it reaches all stations on that LAN. If the intended recipient of the frame is connected to another LAN, the frame is passed over a routing device to that other LAN. Collectively, these hardware and software components comprise a communications network and their interconnections are defined by an underlying architecture.
Most computer network architectures are organized as a series of hardware and software levels or xe2x80x9clayersxe2x80x9d within each station. These layers interact to format data for transfer between, e.g., a source station and a destination station communicating over the network. Specifically, predetermined services are performed on that data as it passed through each layer, and the layers communicate with each other by means of the predefined protocols. This design permits each layer to offer selected services to other layers using a standardized interface that shields the other layers from details of actual implementation of the services. The lower layers of these architectures are generally standardized and implemented in hardware and firmware, whereas the higher layers are usually implemented in the form of software. Examples of such communications architectures include the System Network Architecture (SNA) developed by International Business Machines (IBM) Corporation and the Internet Communications Architecture.
The Internet architecture is represented by four layers termed, in ascending interfacing order, the network interface, internetwork, transport and application layers. The primary internetwork layer protocol of the Internet architecture is the Internet Protocol (IP). IP is primarily a connectionless protocol that provides for internetworking routing, fragmentation and reassembly of exchanged packetsxe2x80x94generally referred to as xe2x80x9cdatagramsxe2x80x9d in an Internet environmentxe2x80x94and which relies on transport protocols for end-to-end reliability. An example of such a transport protocol is the Transmission Control Protocol (TCP), which is implemented by the transport layer and provides connection-oriented services to the upper layer protocols of the Internet architecture. The term TCP/IP is commonly used to denote this architecture; the TCP/IP architecture is discussed in Computer Networks, 3rd edition, by Andrew S. Tanenbaum, published by Prentice-Hall, PTR in 1996, all disclosures of which are incorporated herein by reference, particularly at pages 28-54.
SNA is a communications framework widely used to define network functions and establish standards for enabling different models of IBM computers to exchange and process data. SNA is essentially a design philosophy that separates network communications into several layers termed, in ascending order, the physical control, the data link control, the path control, the transmission control, the data flow control, the presentation services and the transaction services layers. Each of these layers represents a graduated level of function moving upward from physical connections to application software.
In the SNA architecture, the data link control layer is responsible for transmission of data from one end station to another. Bridges or devices in the data link control layer that are used to connect two or more LANs so that end stations on either LAN are allowed to access resources on the LANs. Connection-oriented services at the data link layer generally involve three distinct phases: connection establishment, data transfer and connection termination. During connection establishment, a single path or connection, e.g., an IEEE 802.2 logical link control type 2 (LLC2) connection, is established between the source and destination stations. Once the connection has been established, data is transferred sequentially over the path and, when the LLC2 connection is no longer needed, the path is terminated. Reliable communication of the LLC2 is well known and described by Andrew Tanenbaum in his book Computer Networks, Second Edition, published in 1988, all disclosures of which are incorporated herein by reference, especially at pages 253-257.
FIG. 1 is a schematic block diagram of a conventional computer network 100 having a host computer coupled to a Token Ring (TR) network TR1 and an end station coupled to TR2. The TR networks are of the type that support Source/Route Bridging (SRB) operations with respect to the contents of a routing information field (RIF) of a frame. The host computer is preferably a SNA host entity comprising a host mainframe computer (host) 110 coupled to a channel-attached router or front end processor (FEP), hereinafter referred to as the xe2x80x9chost network connectionxe2x80x9d 112; in addition, the end station is a xe2x80x9cphysical unitxe2x80x9d (PU) SNA entity 114. An SRB bridging device B1 interconnects TR1 and TR2 such that the SRB network 100 effectively functions as a LAN.
The PU communicates with the host by exchanging TR frames over LLC2 connections or sessions through the SRB network. Each TR frame 120 includes a RIF 122 that contains source route information in the form of ring number/bridge number pair xe2x80x9chopsxe2x80x9d within a path between the stations. For example, the RIF 122 of TR frame 120 transmitted by the PU to host contains [0021.0010]. An LLC2 session is established between the stations using a special TR frame, called an explorer frame.
The explorer frame is used by a source (PU) to xe2x80x9cdiscoverxe2x80x9d the path to a destination (host); thereafter, a Set Asynchronous Balanced Mode Extended (SABME) frame is sent from the PU to the host to establish a logical connection between the end stations, and the host responds to the SABME frame with an Unnumbered Acknowledgment (UA) frame. Once the UA frame is received by the PU, a connection is established between the source and destination, and these stations communicate by exchanging TR information (INFO) and acknowledgment frames until the logical link SNA session is completed.
For example, the PU transmits an INFO frame over TR2 and through BR1 and TR1 to the host. Upon successfully receiving the INFO frame, the host responds by transmitting an LLC2 Receive/Ready (RR) acknowledgment frame over the SRB network to the PU. This INFO/RR exchange continues until the PU has successfully transmitted all of its data and the host has successfully received all of that data. Session completion is then initiated by a Disconnected Mode (DM) frame being transmitted from the PU to the host; the disconnection is thereafter acknowledged by the host responding with a UA frame. The LLC2 frames (packets) are described by Radia Perlman in her book Interconnections, Bridges and Routers, published by Addison Wellesly Publishing Company, in 1992, all disclosures in which are incorporated herein by reference, particularly at pages 33-34.
As noted, each TR INFO frame sent from a source to a destination is acknowledged by an RR frame; if the source end station does not receive the acknowledgment frame within a prescribed period of time, a xe2x80x9ctime-outxe2x80x9d may occur and the source sends a DM frame to prematurely terminate the session. Since network 100 is a LAN, it facilitates fast transfer of information between its connected stations and, as a result, a time-out condition should rarely occur. If a WAN such as a TCP/IP cloud is disposed within a LAN-based network, it is likely that a time-out will arise because of the latencies introduced by the TCP/IP cloud. That is, a frame traversing the WAN cloud incurs substantial delay as opposed to the LAN because the WAN is generally not as fast as the LAN.
Data Link Switching (DLSw) is a mechanism for forwarding SNA protocol frames over, e.g., a TCP/IP backbone WAN such as the Internet. In traditional bridging, the data link connection is end-to-end, i.e., effectively continuous between communicating end stations. A stream of data frames originating from a source station on a source LAN traverses one or more bridges specified in the path over the LLC2 connection to a destination station on a destination LAN. In a network implementing DLSw, by contrast, the LLC2 connection terminates at a local DLSw device entity, e.g., a router. An example of a DLSw network arrangement may comprise a host DLSw router connected to a host computer via a host LAN and a remote DLSw router connected to a remote LAN having a destination station. The LANs that are accessed through the DLSw routers may appear as SRB subnetworks attached to adjacent rings; each of these adjacent rings manifest as a virtual ring within each DLSw router that effectively terminates the SRB network.
FIG. 2 is a schematic block diagram of such a DLSw network 200 having a TCP/IP cloud 205 disposed between host and remote SRB subnetworks 202, 204. When communicating with the host as described above, the PU sends an INFO frame to which host responds with a RR frame. Because of the latencies introduced by the WAN cloud, however, a time-out condition may occur during this exchange. The DLSw network includes host and remote DLSw routers 1,2 that border the WAN cloud. These DLSw routers function as end points between TCP sessions over the TCP/IP cloud when transporting TR frames associated with LLC2 sessions over that intermediate network. DLSw switching may obviate the time-out problem introduced by the TCP/IP cloud by, e.g., having DLSw1 return a RR acknowledgment frame to the source end station (PU) upon receiving an INFO frame. Notably, the RR frame is returned prior to transmitting the native TR INFO frame over the TCP/IP network.
Broadly stated, each DLSw router establishes a xe2x80x9cpeer relationshipxe2x80x9d to the other DLSw router in accordance with a conventional capabilities exchange message sequence, and the logical and physical connections between these routers connect the subnetworks into a larger DLSw network. To establish a peer connection in accordance with an implementation of DLSw switching, the host DLSw router first opens logical TCP (Read/Write) xe2x80x9cpipexe2x80x9d connections to the remote DLSw router using a conventional socket technique to create a socket into the transport layer of the protocol stack. Once the TCP pipes are established, a Switch-to-Switch (SSP) Protocol is used to transport the capabilities exchange messages between the two DLSw routers.
The capability exchange messages contain various parameters, such as the number of pipes used for communicating between the DLSw routers and the largest frame size supported by the routers. Each DLSw router responds to each capability exchange message issued by its peer router with a capability exchange response message. Upon completion of the exchange, each router reconfigures itself to xe2x80x9cact uponxe2x80x9d the agreed capabilities and the peer connection is established. Establishment of a peer connection can occur automatically upon xe2x80x9cboot-upxe2x80x9d of each DLSw router; that is, as soon as a DLSw router activates, it connects with its DLSw peer. The DLSw forwarding mechanism is well known and described in detail in Wells et al. Request For Comment (RFC) 1795 (1995).
Upon receiving a TR frame from a source on the host SRB subnetwork that is destined for a destination on the remote SRB subnetwork, the host DLSw router employs the SSP protocol to communicate with its DLSw peer router by forwarding the native TR frame over the TCP/IP network to the remote SRB subnetwork. That is, the TR frame received at the host DLSw router from the source is encapsulated within a SSP protocol frame and forwarded over the TCP/IP cloud to the remote DLSw router. The source route information contained in the RIF of each TR frame terminates inside the virtual ring of the DLSw router; notably, the RIF information is locally stored at the DLSw router.
The host DLSw router then multiplexes the LLC2 session data stream over a conventional TCP transport connection to a remote DLSw router. LLC2 acknowledgment frames used to acknowledge ordered receipt of the LLC2 data frames are xe2x80x9cstripped-outxe2x80x9d of the data stream and acted upon by the host DLSw router; in this way, the actual data frames are permitted to traverse the IP cloud to their destination while the xe2x80x9coverheadxe2x80x9d acknowledgment frames required by the LLC2 connections for reliable data delivery are kept off the cloud. The LLC2 connections from the source LAN to the host transmitting DLSw router, and from the remote receiving DLSw router to the destination LAN, are entirely independent from one another. Data link switching may be further implemented on multi-protocol routers capable of handing DLSw devices as well as conventional (e.g., SRB) frames.
DLSw routers can establish multiple parallel TCP sessions using well-known port numbers. All frames associated with a particular LLC2 connection typically follow a single designated TCP session. Accordingly, SNA data frames originating at the PU 214 are transmitted over a particular LLC2 connection along TR2 to DLSw2, where they are encapsulated within a designated TCP session and transported over the TCP/IP cloud 205. The encapsulated messages are received by DLSw1, decapsulated to their original frames and transmitted over a corresponding LLC2 connection of TR1 to the host 210 in the order received by DLSw2 from the PU.
The LLC2 connection between the PU and host is identified by a data link identifier (ID) 260 consisting of a pair of attachment addresses associated with each end station. Each attachment address is represented by the concatenation of a media access control (MAC) address (6 bytes) and a LLC service access point (SAP) address (1 byte). Specifically, each attachment address is classified as either a target address comprising a destination MAC (DMAC) and a destination SAP (DSAP), or an origin address comprising a source MAC (SMAC) and source SAP (SSAP) addresses. The attachment addresses are contained in the TRs frame exchanged between the PU and host entities.
Furthermore, the designated TCP session is identified by a pair of circuit IDs 270, each comprising a 64-bit number that identifies the LLC2 circuit within a DLSw circuit. The DLSw circuit ID generally comprises a data link circuit port ID (4 bytes) and a data link correlator (4 bytes). A pair of circuit IDs along with a data link ID uniquely identifies a single end-to-end circuit through the network. Notably, each DLSw router maintains a table 250 comprising a plurality of data link ID and corresponding DLSw circuit ID pair entries. In order to associate LLC2 frame traffic with a corresponding DLSw circuit when communicating over the IP cloud, each DLSw router typically indexes into the table (the xe2x80x9cDLSw tablexe2x80x9d) using a data link ID to find the corresponding DLSw circuit IDs.
When managing a multi-protocol TCP/IP-based SNA network, such as DLSw network 200, information about the protocols used to transport SNA session traffic is available to a network operator of a network management station (NMS) 280 via a Simple Network Management Protocol (SNMP). For example the DLSw circuit information described above, including the data link IDs, are available to the NMS 280 by accessing DLSw management information base (MIB) tables within the routers using SNMP. The MIB and SNMP protocol, and their use in providing network management information between SNMP management stations and agents are well-known and described in, e.g., SNMP, SNMPv2 and RMON by William Stallings, printed by Addison Wesley Publishing Company, 1996.
The information acquired by SNMP allows a management application executing on the NMS to present a view of TCP/IP devices carrying the SNA traffic. SNMP generally does not provide the PU name for the SNA sessions being carried since this information does not flow in typical SNA sessions. However, the SNA sessions can be identified by their source and destination MAC/SAP addresses. That is, the orientation of the MAC/SAP attachment addresses of the data link IDs acquired from each router is dependent on the proximity of the SNA entity to which the router is connected. For example, the remote DLSw router identifies the PU MAC/SAP attachment address as origin and the host network connection MAC/SAP attachment address as target, whereas the host DLSw router identifies the PU and host connection addresses in reverse order. The DLSw routers do not, however, maintain the name of the PU, which is a common way for an operator to identify a session.
An outage involving a PU session in the network 200 may be diagnosed by the network operator using a conventional approach that correlates SNA frame traffic sessions to DLSw routers for a network having a peer connection over an IP cloud between DLSw peer routers. Typically, management of the SNA entities takes place on the host in accordance with a network management application program, such as NetView(copyright), executing on the host. The application can access the status of the PU entity by virtue of its definition contained in a specialized data structure 290 of the host network connection. This data structure is a virtual telecommunication access method (VTAM) table 290 having entries whose contents define all the PUs with respect to the host. The content definitions of the entries comprise a name (e.g. PU name 292) along with an identifier block number/identifier number (IDBLK/IDNUM 294) or control point (CP) name that uniquely identifies each PU on a network at a given time.
The NetView application manages those SNA resources known to it; as used in this context, the term xe2x80x9cmanagingxe2x80x9d means that the application program can check and change the status of the resources, and can further control those resources to acquire, e.g., information leading to the traffic patterns of the resources. However, the NetView application cannot manage the component in the routers that encapsulate SNA traffic. As noted, the DLSw routers are preferably managed by the SNMP tool executing on the NMS which communicates with SNMP agents resident on the routers.
According to the conventional approach, the NMS communicates with an SNMP agent in each DLSw router to acquire DLSw MIB information including a data link ID identifying a DLSw circuit associated with the router. Since the host computer xe2x80x9cownsxe2x80x9d SNA sessions in the network, it maintains SNA-specific information (in addition to the PU name) such as the MAC/SAP addresses 296 for the host network connection and the PU on VTAM 290 in the host. A SNA View application 298, along with VTAM exit code 295, are also resident on the host and are used to acquire the MAC/SAP addresses and PU names. The exit code 295 executes in the address space of VTAM, which is a mechanism for handling all network connections to the host. The VTAM exit code is invoked upon the occurrence of an event, such as a PU session connecting to the network. Invocation of the exit code enables the SNA View application 298 to collect the SNA-specific information, including the PU name and MAC/SAP addresses. SNA View also communicates with VTAM to collect static definition information associated with the PU name if the PU is statically defined.
The PU name 292 may also be dynamically generated by the VTAM exit when the PU connects to the network. Typically, the PU name that is generated is determined in accordance with an algorithm that is dependent upon a supplied IDBLK/IDNUM or CP name value. The PU name may consist of a predetermined prefix followed by a character representation of the IDNUM portion of the value. For example if the prefix is xe2x80x9cDYNxe2x80x9d and the IDBLK/IDNUM is xe2x80x9c05D/00001xe2x80x9d, the generated PU name may be xe2x80x9cDYN00001xe2x80x9d. Although there is no configuration member containing a static definition of the PU name, the dynamically generated name is still provided to the SNA View application 298.
A complementary version of SNA View 288 (i.e., CiscoWorks Blue SNA View) executes on the NMS and communicates with the host application over a logical TCP/IP (or LU 6.2) xe2x80x9cpipexe2x80x9d connection 285. The SNA View application 288 on the NMS 280 obtains the SNA-specific information from VTAM 290 over the pipe 285 and stores that information on a database 282 of the NMS. In the case of DLSw network 200, the SNA-specific information retrieved from VTAM does not include information with respect to the DLSw routers that are routing the session traffic. Using the PU name of a session, an SNMP manager 284 on the NMS may then correlate local and remote MAC/SAP addresses to the PU name in accordance with a conventional correlation procedure.
In response to a query from the operator specifying a PU name of the session, the NMS 280 compares the MAC/SAP addresses retrieved from VTAM with the data link IDs in the MIBs to identify a DLSw circuit at each router. The NMS then uses the orientation of the MAC/SAP attachment addresses from the routers to distinguish between the host and remote DLSw routers. Thereafter, the NMS can draw the topology of the DLSw network, including the DLSw circuit and PU session, to isolate any failures in the network.
A problem with the conventional approach described above is that customers generally resist the notion of installing xe2x80x9cforeignxe2x80x9d VTAM exit code on their host mainframes, particularly in the case of a service provider. This is primarily because of the possibility that VTAM performance may be adversely affected by the exit code. For example, execution of the VTAM exit code 295 on the mainframe may xe2x80x9cslow downxe2x80x9d the performance of service provider connections between the host and PU because of the processing resources needed to execute that code. Moreover, failure of the exit code may prevent dynamic PUs from attaching to the network, thereby causing end user access failures. Thus, it would be desirable (from a customer""s perspective) to remove the VTAM exit code requirement from the host mainframe.
Therefore, an object of the present invention is to provide a technique for acquiring a PU name of a SNA session in a network without requiring a presence on or any constant communication with VTAM on a host mainframe of the network.
Another object of the present invention is to provide a technique that eliminates communication with VTAM through a VTAM exit process, yet still allows acquisition of PU names of SNA sessions in the network.
The present invention is directed to a technique for efficiently creating a database used to correlate information identifying data session traffic exchanged between entities of a computer network with information relating to multi-protocol intermediate devices configured to carry the session traffic throughout the network. The intermediate devices are preferably routers configured to carry System Network Architecture (SNA) session traffic between SNA entities comprising a host network connection (xe2x80x9chostxe2x80x9d) and a physical unit (PU) station. The inventive technique allows a network management station (NMS) program to establish a NMS database by obtaining a PU name associated with an active SNA session without requiring a presence on or continual communication with a virtual telecommunication access method (VTAM) on the host.
Specifically, the technique allows the NMS to acquire the PU name of an SNA session through information gathered using a Simple Network Management Protocol (SNMP). An SNMP manager of the NMS xe2x80x9clearnsxe2x80x9d about the SNA session by acquiring SNA session information from the routers via SNMP management information bases (MIBs). For example, source and destination media access control (MAC) and service access point (SAP) addresses of the SNA session may be acquired by Data Link Switching (DLSw) and Advanced Peer to Peer Networking (APPN) routers, whereas an identifier block number/identifier number (IDBLK/IDNUM) or a control point (CP) name of the PU initiating the SNA session may be acquired by a router configured to carry TN3270 session traffic.
In the illustrative embodiment, the computer network is preferably a DLSw network comprising multiple source-route-bridge (SRB) subnetworks interconnected DLSw routers over, e.g., a Transmission Control Protocol/Internet Protocol (TCP/IP) network cloud. A DLSw peer connection is established between a local DLSw router and its remote xe2x80x9cpeerxe2x80x9d DLSw router over the TCP/IP cloud; each DLSw peer connection comprises DLSw circuits that are identified by, inter alia, data link IDs comprising attachment addresses of the host and PU entities. Notably, the host network connection of the DLSw network utilizes a channel-attached interface processor (CIP) router for connectivity with the host; the host may be further connected to the NMS via a TCP/IP pipe connection.
According to the invention, a process (CSNA) on the CIP router acquires information from SNA session traffic flowing through the router, which information is used to establish the NMS database. For example, an activate PU (ActPU) session frame flows through the CIP router and includes the IDBLK/IDNUM or CP name of the PU initiating the SNA session. The CSNA process extracts the IDBLK/IDNUM or CP name from the ActPU frame and associates it with the MAC/SAP addresses of the session. The CSNA process then provides the extracted SNA session information to an SNMP agent for population into the SNMP MIB. Thereafter, the router may be queried by the NMS using SNMP to provide either all or a portion of the SNA session information contained in the MIB.
An SNMP manager on the NMS requires temporary access to configuration information stored on VTAM. The VTAM configuration information can be downloaded from the host to the NMS as needed either over the pipe connection or via a file transfer program. This information is then loaded onto the NMS database to allow the SNMP manager to quickly retrieve a PU name for an SNA session in response to a specified IDBLK/IDNUM or CP name. If only the source and destination MAC/SAP addresses of the session are known, the IDBLK/IDNUM and/or CP name can be acquired from the CIP router to enable look-up of the PU name.
As described herein, the inventive technique may be implemented as an SNMP/SNA correlator engine process. Upon initiating the correlator engine, any new VTAM files are downloaded and incorporated into the NMS database. The correlator then issues an SNMP query to each CIP router for a list of currently active SNA sessions along with information relating to those sessions. Once the SNA session information is obtained, the engine correlates that information with the VTAM information downloaded from the host to determine a PU name associated with a particular IDBLK/IDNUM or CP name associated with a MAC/SAP address. That is, the PU name (retrieved from VTAM) associated with a particular IDBLK/IDNUM (retrieved from the CIP router) can be determined by correlating the CIP-provided information with the VTAM-provided information to determine either the PU name associated with a MAC/SAP address or the MAC/SAP address associated with a PU name. Thus, the inventive technique eliminates the need to query VTAM repeatedly in order to correlate the information.
In accordance with an aspect of the invention, a workstation exit procedure may be used to generate a PU name instead of obtaining and storing the name in the NMS database. That is, workstation exit code is invoked to calculate a PU name if the name is typically generated by a VTAM exit procedure when the PU connects to the network. In this case, the workstation exit routine uses the same algorithm as employed on the host to determine the VTAM PU name. The input to the exit is the same as that for the database lookup, i.e., the IDBLK/IDNUM or CP name.
Advantageously, the inventive technique enables the NMS to obtain PU names without requiring continual presence and interfacing with the host VTAM through a complex exit routine. Broadly stated, the invention may eliminate the need for SNA view application and VTAM exit code requirements for DLSw correlation. Yet if there is a desire to maintain a xe2x80x9cmainframe presencexe2x80x9d to access SNA session information from VTAM, the SNA View applications may be installed on the host and NMS to enable communication over the pipe connection. In this latter case, only the VTAM exit code is eliminated from the host. The inventive technique is particularly useful for organizations that are responsible for managing a TCP/IP-based SNA network, but are not able to place an application on the host mainframe. The present invention allows these organizations to acquire the VTAM PU names for SNA sessions so that they can communicate with their customers about session problems.